<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
	</body>
	<script>
		//第二个示例,也是原型继承
		//这里的arguments[0],arguments[1],arguments[2]就是参数1，参数2，参数3
		function prototypeExtend() {
			var F = function() {}; //缓存类，为实例化返回对象临时创建
			args = arguments; //模板对象参数序列
			i = 0
			len = args.length;
			for(; i < len; i++) {
				//遍历每个模板对象中的属性
				for(var j in args[i]) {
					//将这些属性复制到缓存类原型中
					F.prototype[j] = args[i][j];
				}
			}
			//返回缓存类的一个实例
			return new F();
		}
		var penguin = prototypeExtend({
			speed: 20,
			swim: function() {
				console.log('游泳速度' + this.speed);
			}
		}, {
			run: function(speed) {
				console.log('奔跑速度' + speed);
			}
		}, {
			jump: function() {
				console.log('跳跃动作')
			}
		})
		penguin.swim(); //游泳速度 20
		penguin.run(10); //奔跑速度 10
		penguin.jump(); //跳跃动作
	</script>

</html>